from datetime import datetime, timedelta
import time

now = datetime.now()
print(now)

# 格式化日期和时间
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print(type(now))

print("# 注意时间字符串与格式化字符串位置一一对应，否则报错")
odate = datetime.strptime('2021-01-01 12:00:00', '%Y-%m-%d %H:%M:%S')
print(odate)
print(type(odate))


print("----------------获取时间戳-----------------")
# datetime模块提供
now = datetime.now()
print(now.timestamp())

print("----------------时间戳转datetime-----------------")
# time模块提供
print(time.time())

print("------------------自定义时间转换为时间戳-------------------------")
#方式1：
odate = datetime.strptime('2017-2-6 23:29:20','%Y-%m-%d %H:%M:%S')
print(odate.timestamp())

#方式2
odate = datetime(2017,2,6,23,29,20)
print(odate.timestamp())
print("------------------时间戳转换为自定义时间-------------------------")
now =  datetime.now()
ts = now.timestamp()
print(datetime.fromtimestamp(ts)) #本地时间
print(datetime.utcfromtimestamp(ts)) # UTC 时间


print("-------------------datetime加减-----------------------")
now = datetime.now()
now+=timedelta(days=-1,hours=1,minutes=1,seconds = 10)
print(now)

print("------------------python中时间日期格式化符号-------------------")
'''
%y 两位数的年份表示（00-99）
%Y 四位数的年份表示（000-9999）
%m 月份（01-12）
%d 月内中的一天（0-31）
%H 24小时制小时数（0-23）
%I 12小时制小时数（01-12）
%M 分钟数（00=59）
%S 秒（00-59）
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天（001-366）
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数（00-53）星期天为星期的开始
%w 星期（0-6），星期天为星期的开始
%W 一年中的星期数（00-53）星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
'''
